The present invention relates generally to the field of databases, and more particularly to performing future queries based on identifying query patterns.
Service oriented architecture continues to increase within the next generation of application programs to develop information systems by involving the interaction between loosely coupled services that function independently. Services carry out small functions that provide access to one or more resources which the service oriented architecture may bind though orchestration (i.e., integrates several services and exposes the result as a single service). Therefore, service oriented architecture are capable of leveraging the available services repeatedly within multiple applications. As the interactions within a service oriented architecture occur with loosely coupled services that operate independently, the complete recreation of services is unnecessary when upgrades or modifications are incorporated (e.g., customer credit check, weather data, banking transactions, etc.). The services access resources such as related databases through an abstract data layer (i.e., computer program providing simplified access to stored data), which allow the resource to be read or manipulated by client applications, or other services, while making the data appear equivalent to any other resource.
Relational database management systems (RDBMS) manage relational databases that store data, such as financial records, manufacturing and logistical information, and personnel data, by organizing the data into predefined data categories in the form of related tables also known as relations. Relationships between tables in relational databases are identified through the use of primary and foreign keys. A primary key is a special relational database column, or combination of columns, designed to uniquely identify all table records. The foreign key, while also a column or group of columns in a relational database, references the primary key of another table thus providing a cross reference link between the data in the tables. The remaining table structure includes columns, also referred to as fields, denoting one or more predefined data categories, and rows, also referred to as a record that contain a unique instance of the data respective to the columns. As the relational database is a collection of data items organized as a set of formally-described tables, minimal assumptions are included regarding how the data is related, or how the data will be extracted from the database. Therefore, due to the minimal assumptions, the data in a relational database can be accessed or reassembled in many different ways without reorganizing the relational database tables in order to meet the specifications of a user.
The data within a relational databases may be accessed by users through queries (i.e., requests for information). Common query methods include, choosing parameters from a menu list, by example (e.g., user specifies fields and values within a blank record that define the query), and query language (e.g., user makes requests through a stylized query written in a special query language). When performing a query for a relational database, the query specifies both the tables and the condition that links the tables. Through the queries, users then obtain a view of the relational database tailored to the specific needs of the user (e.g., arranging data items in a specified order, displaying only relevant items, etc.).